Modification Name: QuickEdit Bar (Avatar Display Version)
 
Description: This modification will add a QuickEdit bar at the bottom of your page allowing you to edit the following options at any time:
	 - Browse the board invisible
	 - Theme
	 - Mood
	 - Avatar URL
	 - Signature
 
Compatibilty: XMB 1.9.8 SP3
 
Version: 1.6
 
Code Designed By: FunForum
Updated By: JDaniels
Updated For 1.9.8 By: WormHole @ XMB Garage
 
License Note: This modification is released under the GPL License. Give credit where credit is due. A copy is provided with this software package.
 
Notes: 
           * For your own safety, backup the effected PHP file and template before proceeding with this hack.
           * This hack will add 1 query per pageload. (SELECT themeid, name FROM xmb_themes ORDER BY name ASC;)
           * When pressing the Submit button an additional query will be added to save the results.

Version History: 	
           * 2004 / 10 / 28 : Adjusted the instructions to the "XMB 1.9.1 Final - Nexus" coding.
           * 2006 / 02 / 25 : Adjusted the instructions to the new coding, and made use of XMB 1.10's sanitize.inc.php.
           * 2006 / 03 / 15 : Fixed avatar issue
           * 2006 / 08 / 27 : After fixing the safeString() function in sanitize.inc.php , the signature needed a little tweak.
           * 2006 / 10 / 10 : XMB 1.9.6 Instructions
           * 2007 / 04 / 08 : XMB 1.9.7 Instructions. Moved coding to the functions.php which saves 1 query per pageload, the loading of the QuickEdit template. This query that got saved, was the reason for an Efficiency Notice in previous versions.
           * 2007 / 12 / 15 : Updated for 1.9.8 Final SP1
           * 2008 / 03 / 19 : Updated for 1.9.8 Final SP2
           * 2009 / 06 / 03 : Updated for 1.9.8 Final SP2

============================================================================================================================
=======
Step 1.
=======

Upload sanitize.inc.php file to include if it doesn't already exist

============================================================================================================================
=======
Step 2.
=======
=========================
Create New Template: QuickEdit
=========================
===========================
Add Code & Click Submit Changes:
===========================

<br />
<form method="post" action="{$_SERVER['REQUEST_URI']}" name="FunForumQuickEdit" id="FunForumQuickEdit">
<input type="hidden" name="action" id="action" value="$_action" />
<input type="hidden" name="fid" id="fid" value="$_fid" />
<input type="hidden" name="member" id="member" value="$_member" />
<input type="hidden" name="page" id="page" value="$_page" />
<input type="hidden" name="pid" id="pid" value="$_pid" />
<input type="hidden" name="tid" id="tid" value="$_tid" />
<table cellspacing="0" cellpadding="0" border="0" width="{$THEME['tablewidth']}" align="center">
<tr>
<td bgcolor="{$THEME['bordercolor']}">
<table border="0" cellspacing="{$THEME['borderwidth']}" cellpadding="{$THEME['tablespace']}" width="100%">
<tr>
<td class="category" colspan="4"><a target="_self" title="{$lang['texteditpro']}" href="memcp.php?action=profile"><strong><font color="{$THEME['cattext']}">QuickEdit</font></strong></a></td>
</tr>
<tr>
<td bgcolor="{$THEME['altbg2']}">
$MY_avatar
</td>
<td bgcolor="{$THEME['altbg2']}">
<table width="100%" cellpadding="0" cellspacing="0">

<tr class="tablerow">
<td align="left" valign="middle">{$lang['textinvisible']}:</td>
<td align="left" valign="middle"><input type="radio" name="FQEnewinv" value="1"$FQEinvcy />&nbsp;{$lang['textyes']}&nbsp;&nbsp;&nbsp;<input type="radio" name="FQEnewinv" value="0"$FQEinvcn />&nbsp;{$lang['textno']}</td>
<td align="left" valign="top" rowspan="$FQErowspan">{$lang['textsig']}<br /><textarea rows="5" cols="45" name="FQEnewsig">$FQEshowsig</textarea></td>
</tr>
<tr class="tablerow">
<td align="left" valign="middle">{$lang['texttheme']}</td>
<td align="left" valign="middle">$FQEthemelist</td>
</tr>
<tr class="tablerow">
<td align="left" valign="middle">{$lang['mood']}</td>
<td align="left" valign="middle"><input type="text" name="FQEnewmood" size="30" value="$self[mood]" /></td>
</tr>

$FQEavabox

</table>
</td>
</tr>
<tr>
<td bgcolor="{$THEME['altbg2']}" class="ctrtablerow" colspan="4"><input type="submit" class="submit" name="FQEDO" value="{$lang['textsubmitchanges']}" /></td>
</tr>
</table>
</td>
</tr>
</table>
</form>

============================================================================================================================
=======
Step 3.
=======
=================
Edit File: header.php 
=================
==========
Find Code:
==========

require ROOT.'include/functions.inc.php';

==================================
Add Code Below (If it does not already exist):
==================================

require ROOT.'include/sanitize.inc.php';

==========
Find Code:
==========

$mailer = array();

===============
Add Code Below:
===============

// QuickEdit Bar Mod Begin
$QuickEdit = '';
// Quick Edit Bar Mod End

==========
Find Code:
==========

// Creates login/logout links
if (X_MEMBER) {

===============
Add Code Below:
===============

    // QuickEdit Bar Mod Begin
    if (!is_null(fetchFromRequest('FQEDO', X_POST))) {
        QuickEdit_update();
    }
    // QuickEdit Bar Mod End

============================================================================================================================
=======
Step 4.
=======
=========================
Edit File: include/functions.inc.php
=========================
==========
Find Code: 
==========

array_unique(array_merge(func_get_args(), array(

================
Replace Code With:
================

array_unique(array_merge(func_get_args(), array('QuickEdit',

==========
Find Code:
==========

            templatecache(X_CACHE_PUT, $template['name'], $template['template']);
        }
        $db->free_result($query);

===============
Add Code Below:
===============

        // QuickEdit Bar Mod Begin
        QuickEdit_show();
        // QuickEdit Bar Mod End

=================
Find Code (2 Times):
=================

    if ($showheader === false) {
        $header = '';

======================
Add Code Below (2 Times):
======================

        // QuickEdit Bar Mod Begin
        $QuickEdit = '';
        // QuickEdit Bar Mod End

===========================
Find Code At Very Bottom Of File:
===========================

?>

===============
Add Code Above:
===============

// QuickEdit Bar Mod Begin
function QuickEdit_show() {
    $PHP_SELF = $MY_avatar = '';
    if (X_MEMBER) {
        global $db, $table_themes, $lang, $PHP_SELF, $self, $SETTINGS, $THEME, $QuickEdit;
        $_fid = safeInt(fetchFromRequest('fid', X_GET|X_POST), 0);
        $_tid = safeInt(fetchFromRequest('tid', X_GET|X_POST), 0);
        $_pid = safeInt(fetchFromRequest('pid', X_GET|X_POST), 0);
        $_page = safeInt(fetchFromRequest('page', X_GET|X_POST), 1);
        $_member = fetchFromRequest('member', X_GET|X_POST);
        $_action = fetchFromRequest('action', X_GET|X_POST);
        $FQEavabox = $FQEinvcy = $FQEinvcn = '';
        if ($self['invisible'] == 1) { 
            $FQEinvcy = ' checked="checked"';
        } else {
            $FQEinvcn = ' checked="checked"';
        }
        if ($SETTINGS['avastatus'] == 'on') {
            $FQErowspan = 4;
            $FQEavabox = '<tr class="tablerow"><td align="left" valign="middle">'.$lang['textavatarurl'].'</td><td align="left" valign="middle"><input type="text" name="FQEnewavatar" size="30" value="'.$self['avatar'].'" /></td></tr>';
            if ($self['avatar'] != '') {
                if (false !== ($pos = strpos($self['avatar'], ',')) && substr($self['avatar'], $pos-4, 4) == '.swf') {
                    $flashavatar = explode(",",$self['avatar']);
                    $MY_avatar = '<object type="application/x-shockwave-flash" data="'.$flashavatar[0].'" width="'.$flashavatar[1].'" height="'.$flashavatar[2].'"><param name="movie" value="'.$flashavatar[0].'" /><param name="allowScriptAccess" value="never" /></object>';
                } else {
                    $MY_avatar = '<img src="'.$self['avatar'].'" alt="'.$lang['altavatar'].'" />';
                }
            }
        } else {
            $FQErowspan = 3;
        }
        $FQEthemelist = '<select name="FQEtheme">\n<option value="0">'.$lang['textusedefault'].'</option>';
        $FQEquery = $db->query("SELECT themeid, name FROM ".X_PREFIX."themes ORDER BY name ASC");
        while ($FQEtheme = $db->fetch_array($FQEquery)) {
            if ($FQEtheme['themeid'] == $self['theme']) {
                $FQEthemelist .= '<option value="'.$FQEtheme['themeid'].'" selected="selected">'.stripslashes($FQEtheme['name']).'</option>\n';
            } else {
                $FQEthemelist .= '<option value="'.$FQEtheme['themeid'].'">'.stripslashes($FQEtheme['name']).'</option>\n';
            }
        }
        $PHP_SELF = '';
        $FQEthemelist .= '</select>';
        $FQEshowsig = stripslashes($self['sig']);
        eval('$QuickEdit = "'.template('QuickEdit').'";');
    }
}
function QuickEdit_update() {
    global $db, $table_members, $SETTINGS, $self, $_POST;
    if (X_MEMBER) {
        $FQUEdoav = '';
        if ($SETTINGS['avastatus'] == 'on') {
            $FQEavatar = checkInput(ereg_replace(' ', '%20', $_POST['FQEnewavatar']), '', '', 'javascript', false);
            if ( empty($FQEavatar) ) {
                $FQUEdoav = " avatar='',";
                $self['avatar'] = '';
            } else {
                $FQUEdoav = " avatar='".$FQEavatar."',";
                $FQEsize = @getimagesize($FQEavatar);
                $FQEmax_size = explode('x', $SETTINGS['max_avatar_size']);
                $FQEmax_size = explode('x', $SETTINGS['max_avatar_size']);
                if($FQEmax_size[0] > 0 && $FQEmax_size[1] > 0 && substr_count($FQEavatar, ',') < 2) {
                    $FQEsize = @getimagesize($FQEavatar);
                    if($FQEsize === false ) {
                        $FQUEdoav = ''; // Can't read Avatar size
                    } elseif (($FQEsize[0] > $FQEmax_size[0] && $FQEmax_size[0] > 0) || ($FQEsize[1] > $FQEmax_size[1] && $FQEmax_size[1] > 0)) {
                        $FQUEdoav = ''; // Avatar to big
                    }
                }
                $self['avatar'] = (empty($FQUEdoav) ? '' : $FQEavatar);
            }
        }
        $self['mood'] = checkInput($_POST['FQEnewmood'], '', '', 'javascript', false);
        $self['invisible'] = (int)$_POST['FQEnewinv'];
        $self['theme'] = (int)$_POST['FQEtheme'];
        $self['sig'] = addslashes(checkInput($_POST['FQEnewsig'], '', $SETTINGS['sightml'], '', false));
        $db->query("UPDATE ".X_PREFIX."members SET sig='".$self['sig']."',$FQUEdoav theme='".$self['theme']."', mood='".$self['mood']."', invisible='".$self['invisible']."' WHERE uid=".$self['uid']);
    }
    redirect($_SERVER['REQUEST_URI'], 0);
}
// QuickEdit Bar Mod End

============================================================================================================================
=======
Step 5.
=======
===============================
Go To Administration Panel -> Templates:
===============================
=================
Edit Template: footer
=================
======================================
Add Code To Top Of Template & Submit Changes: 
======================================

$QuickEdit

============================================================================================================================
Enjoy!